[INFO] fetching crate ftp 3.0.1...
[INFO] building ftp-3.0.1 against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] extracting crate ftp 3.0.1 into /workspace/builds/worker-10/source
[INFO] validating manifest of crates.io crate ftp 3.0.1 on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ftp 3.0.1
[INFO] finished tweaking crates.io crate ftp 3.0.1
[INFO] tweaked toml for crates.io crate ftp 3.0.1 written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ff6aca3b1d87b6de4443cf474d08da074f0c684dc98c5588128c8dba8be9ed5b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ff6aca3b1d87b6de4443cf474d08da074f0c684dc98c5588128c8dba8be9ed5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff6aca3b1d87b6de4443cf474d08da074f0c684dc98c5588128c8dba8be9ed5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff6aca3b1d87b6de4443cf474d08da074f0c684dc98c5588128c8dba8be9ed5b", kill_on_drop: false }`
[INFO] [stdout] ff6aca3b1d87b6de4443cf474d08da074f0c684dc98c5588128c8dba8be9ed5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 968fda3327dba76142bfce6bb4ca8f874bff80cb470ebd22a81987e9f6787d56
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "968fda3327dba76142bfce6bb4ca8f874bff80cb470ebd22a81987e9f6787d56", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling lazy_static v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling chrono v0.2.25
[INFO] [stderr]    Compiling ftp v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 17.74s
[INFO] running `Command { std: "docker" "inspect" "968fda3327dba76142bfce6bb4ca8f874bff80cb470ebd22a81987e9f6787d56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "968fda3327dba76142bfce6bb4ca8f874bff80cb470ebd22a81987e9f6787d56", kill_on_drop: false }`
[INFO] [stdout] 968fda3327dba76142bfce6bb4ca8f874bff80cb470ebd22a81987e9f6787d56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d4c73433132a60ad62e6f82879ff517d46539dc7faeffbdaac7b8881bb8fe30
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2d4c73433132a60ad62e6f82879ff517d46539dc7faeffbdaac7b8881bb8fe30", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ftp v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.71s
[INFO] running `Command { std: "docker" "inspect" "2d4c73433132a60ad62e6f82879ff517d46539dc7faeffbdaac7b8881bb8fe30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d4c73433132a60ad62e6f82879ff517d46539dc7faeffbdaac7b8881bb8fe30", kill_on_drop: false }`
[INFO] [stdout] 2d4c73433132a60ad62e6f82879ff517d46539dc7faeffbdaac7b8881bb8fe30
